<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="content-type"
 content="text/html; charset=ISO-8859-1">
  <title>Soot documents</title>
  <meta http-equiv="content-type"
 content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#ffffff">
<p>
<table align="center" bgcolor="#9999cc" border="0" cellpadding="0"
 cellspacing="0" width="600">
  <tbody>
    <tr>
      <td>
      <center>
      <h2>Soot Documentation
      <p></p>
      </h2>
      </center>
      </td>
    </tr>
    <tr>
      <td>
      <table bgcolor="#eeeeee" width="100%">
        <tbody>
          <tr bgcolor="#ffffcc">
            <td>
            <center><i>Beginners' guides for Soot</i></center>
            </td>
          </tr>
          <tr>
            <td>In 2008 Eric Bodden started a <a
 href="http://www.bodden.de/tag/soot-tutorial/">
series of blog posts</a> specifically designed to
lead Soot beginners through the first steps of using Soot:
            <ul>
              <li><a
 href="http://www.bodden.de/2008/08/21/soot-command-line/">First steps
using Soot as a command-line tool</a> </li>
              <li><a
 href="http://www.bodden.de/2008/08/30/soot-eclipse-plugin-tutorial/">Using
the
Soot
Eclipse plugin</a> </li>
              <li><a href="http://www.bodden.de/2008/09/22/soot-intra/">Implementing
an
intra-procedural
data-flow analysis in Soot</a> </li>
              <li><a href="http://www.bodden.de/2008/11/26/soot-packs/">Packs
and
phases
in Soot</a></li>
              <li> <a
 href="http://code.google.com/p/tamiflex/wiki/DaCapoAndSoot"
 rel="bookmark" title="Read Using Soot and TamiFlex to analyze DaCapo">Using

Soot
and
TamiFlex to analyze DaCapo</a></li>
              <li><a
 href="http://www.bodden.de/2012/07/26/soot-custom-entry-points/">Using
Soot with custom entry points</a><br>
              </li>
            </ul>
            <b>Note:</b> We do not provide PDF versions of the
tutorials above because you should
be able to get a nicely formatted print-out by just printing the HTML
page directly. <br>
            <br>
            </td>
          </tr>
          <tr bgcolor="#ffffcc">
            <td>
            <center><i>Using Soot as a Command Line Tool</i></center>
            </td>
          </tr>
          <tr>
            <td>
            <ul>
              <li>Soot Commandline Options <a href="usage/index.html"><img
 src="text.gif" border="0"></a><a href="usage/usage.ps"><img
 src="ps.gif" border="0"></a> <a href="usage/usage.pdf"><img
 src="pdf.gif" border="0"></a></li>
              <li>Phase Options <a href="phase/index.html"><img
 src="text.gif" border="0"></a><a href="phase/phase.ps"><img
 src="ps.gif" border="0"></a> <a href="phase/phase.pdf"><img
 src="pdf.gif" border="0"></a></li>
              <li>Inspecting/disassembling classfiles <a
 href="intro/index.html"><img src="text.gif" border="0"></a><a
 href="intro/intro.ps"><img src="ps.gif" border="0"></a> <a
 href="intro/intro.pdf"><img src="pdf.gif" border="0"></a></li>
              <li>Optimizing Classfiles <a href="optimizer/index.html"><img
 src="text.gif" border="0"></a><a href="optimizer/optimizer.ps"><img
 src="ps.gif" border="0"></a> <a href="optimizer/optimizer.pdf"><img
 src="pdf.gif" border="0"></a></li>
              <li>The Jimple Parser <a href="jimpleParser/index.html"><img
 src="text.gif" border="0"></a><a href="jimpleParser/jimpleParser.ps"><img
 src="ps.gif" border="0"></a> <a href="jimpleParser/jimpleParser.pdf"><img
 src="pdf.gif" border="0"></a></li>
              <li>A Brief Overview of Shimple <a
 href="shimple/index.html"><img src="text.gif" border="0"></a><a
 href="shimple/shimple.ps"><img src="ps.gif" border="0"></a> <a
 href="shimple/shimple.pdf"><img src="pdf.gif" border="0"></a></li>
              <li>Whole-program Devirtualization Optimizations <a
 href="devirt/index.html"><img src="text.gif" border="0"></a><a
 href="devirt/devirt.ps"><img src="ps.gif" border="0"></a> <a
 href="devirt/devirt.pdf"><img src="pdf.gif" border="0"></a></li>
              <li>Annotation Options <a href="useannotation/index.html"><img
 src="text.gif" border="0"></a><a href="useannotation/useannotation.ps"><img
 src="ps.gif" border="0"></a> <a href="useannotation/useannotation.pdf"><img
 src="pdf.gif" border="0"></a></li>
              <li>Using Side-Effect Attributes <a
 href="sideeffect/index.html"><img src="text.gif" border="0"></a> <a
 href="sideeffect/sideeffect.ps"><img src="ps.gif" border="0"></a><a
 href="sideeffect/sideeffect.pdf"><img src="pdf.gif" border="0"></a> </li>
            </ul>
            </td>
          </tr>
          <tr bgcolor="#ffffcc">
            <td>
            <center><i>Using Soot as a Compiler Framework</i></center>
            </td>
          </tr>
          <tr>
            <td>
            <ul>
              <li> <a href="http://www.brics.dk/SootGuide/">A
Survivor's
Guide to Java Program Analysis with Soot </a> <br>
by Arni Einarsson and Janus Dam Nielsen </li>
              <li>On the Soot menagerie -- Fundamental Soot Objects. <a
 href="menagerie/index.html"><img src="text.gif" border="0"></a><a
 href="menagerie/menagerie.ps"><img src="ps.gif" border="0"></a> <a
 href="menagerie/menagerie.pdf"><img src="pdf.gif" border="0"></a></li>
              <li>Creating a Class File from Scratch. <a
 href="createclass/index.html"><img src="text.gif" border="0"></a> <a
 href="createclass/createclass.ps"><img src="ps.gif" border="0"></a><a
 href="createclass/createclass.pdf"><img src="pdf.gif" border="0"></a> </li>
              <li>Annotating a Class Created from Scratch. <a
 href="tagclass/index.html"><img src="text.gif" border="0"></a> <a
 href="tagclass/tagclass.ps"><img src="ps.gif" border="0"></a><a
 href="tagclass/tagclass.pdf"><img src="pdf.gif" border="0"></a> </li>
              <li>Using Soot for profiling: developing a goto
Instrumenter. <a href="profiler/index.html"><img src="text.gif"
 border="0"></a> <a href="profiler/profiler.ps"><img src="ps.gif"
 border="0"></a><a href="profiler/profiler.pdf"><img src="pdf.gif"
 border="0"></a> </li>
              <li>More on profiling. <a href="profiler2/index.html"><img
 src="text.gif" border="0"></a> <a href="profiler2/profiler2.ps"><img
 src="ps.gif" border="0"></a><a href="profiler2/profiler2.pdf"><img
 src="pdf.gif" border="0"></a> </li>
              <li>Implementing Flow Analyses Using Soot <a
 href="analysis/index.html"><img src="text.gif" border="0"></a> <a
 href="analysis/analysis.ps"><img src="ps.gif" border="0"></a> <a
 href="analysis/analysis.pdf"><img src="pdf.gif" border="0"></a><br>
              </li>
              <li>Adding attributes to class files via Soot <a
 href="addattributes/index.html"><img src="text.gif" border="0"></a> <a
 href="addattributes/addattributes.ps"><img src="ps.gif" border="0"></a><a
 href="addattributes/addattributes.pdf"><img src="pdf.gif" border="0"></a>
              </li>
              <li>Notes on Invokedynamic (JSR 292) in Soot <a
 href="invokedynamic/index.html"><img alt="" src="text.gif"
 style="border: 0px solid ; width: 20px; height: 22px;"></a> <a
 href="invokedynamic/invokedynamic.ps"><img alt="" src="ps.gif"
 style="border: 0px solid ; width: 20px; height: 22px;"></a><a
 href="invokedynamic/invokedynamic.pdf"><img alt="" src="pdf.gif"
 style="border: 0px solid ; width: 22px; height: 24px;"></a></li>
            </ul>
            </td>
          </tr>
          <tr bgcolor="#ffffcc">
            <td>
            <center><i>Slides from tutorials given at conferences</i></center>
            </td>
          </tr>
          <tr>
            <td>
            <ul>
              <li>PLDI 03 <a href="pldi03/tutorial.ps"><img
 src="ps.gif" border="0"></a><a href="pldi03/tutorial.pdf"><img
 src="pdf.gif" border="0"></a> </li>
            </ul>
            </td>
          </tr>
        </tbody>
      </table>
      </td>
    </tr>
  </tbody>
</table>
</p>
<p></p>
<p></p>
<center><i>&copy; Sable Research Group 2000-2002</i>
</center>
</body>
</html>
